const fp = require( 'lodash/fp')
// 一、将下面异步代码使用Promise的方式改进
// setrimeout(function() {
//   var a = 'hello'
//   setTimeout(function() {
//     var b = 'lago'
//     setrimeout(function() { 
//       var c = 'I ❤️ U'
//       console.log (a + b+ c)
//     }, 10)
//   }, 10)
// }, 10)

// 改进方式1，没有准确模拟延时效果
var p1 = new Promise(function(resolve, reject) {
  var a = 'hello ';
  resolve(a);
}).then(function(data){
  var b = ' lagou ';
  return data + b;
}, function(reason){
  console.log(reason);
}).then(function(data){
  var c = ' I ♥️ U';
  console.log(data + c);
}, function(reason){
  console.log(reason);
})

// 改进方式2，准确模拟延时效果，但问题是有必要套一层 Promise 吗
// var p1 = new Promise(function(resolve, reject) {
//   var a = 'hello ';
//   setTimeout(function(){
//     resolve(a)
//   }, 1000);
// }).then(function(data){
//   var h = new Promise(function(resolve, reject){
//     console.log('====');
//     var b = ' lagou ';
//     setTimeout(function(){
//       resolve(data + b)
//     }, 1000);
//   })
//   console.log('++++',h);
//   return h;
// }).then(function(data){
//   var c = ' I ♥️ U';
//   console.log(data + c);
// })
